package org.albianj.kernel;

import java.util.Date;

public interface IAlbianTransmitterService {
	static String Name = "AlbianKernelBootService";
	
	Date getStartDateTime();

	String getSerialId();

	AlbianState getLifeState();

	/**
	 * ??????Albianj???kernel?????????????????????config????????????????????????
	 * ????????????????????????
	 * 
	 * @param path
	 * @throws Exception
	 */
	void start(String configUrl) throws Exception;

	/**
	 * ??????Albianj?????????kernel?????????????????????????????????????????????
	 * ????????????
	 * 
	 * @param kernelpath
	 * @param configPath
	 * @throws Exception
	 */
	void start(String kernelpath, String configPath) throws Exception;
	
	public void doStart() throws Exception ;

	/**
	 * ??????albianj
	 * ????????????????????????????????????config??????????????????
	 * ??????????????
	 * ????service.xml??????????????????service?????????????????????
	 * ????????????
	 * ??????????????????????????????????????????????????????????????
	 * ???????????????????????????????
	 * 
	 * @throws Exception
	 */
	void start() throws Exception;

	String requestHandlerContext();

	void unload() throws Exception;

	void makeEnvironment();
}
